package com.pubinfo.passbook.common.model.dto.financial;

import com.alibaba.fastjson.annotation.JSONField;
import com.pubinfo.passbook.common.entity.TSourcePassbookReimburse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
@ApiModel(value = "InvoiceResult", description = "票据源接口返回参数")
public class Result implements Serializable {
  @JSONField(name = "randomNumber")
  @ApiModelProperty(value = "校验码")
  private String randomNumber;
  @JSONField(name = "totalAmount")
  @ApiModelProperty(value = "总金额 单位：元，精确到分")
  private String totalAmount;
  @JSONField(name = "issueDate")
  @ApiModelProperty(value = "开票日期")
  private String issueDate;
  @JSONField(name = "invoicingPartyName")
  @ApiModelProperty(value = "开票单位名称")
  private String invoicingPartyName;
  @JSONField(name = "payerPartyType")
  @ApiModelProperty(value = "交款人类型 1 个人 2 单位")
  private String payerPartyType;
  @JSONField(name = "payerPartyName")
  @ApiModelProperty(value = "交款人名称")
  private String payerPartyName;
  @JSONField(name = "isLocked")
  @ApiModelProperty(value = "票据是否锁定 N 未锁定，Y 锁定")
  private String isLocked;
  @JSONField(name = "lockedReason")
  @ApiModelProperty(value = "锁定原因")
  private String lockedReason;
  @JSONField(name = "lockedDate")
  @ApiModelProperty(value = "锁定日期")
  private String lockedDate;
  @JSONField(name = "lockCorpName")
  @ApiModelProperty(value = "锁定机构名称")
  private String lockCorpName;
  @JSONField(name = "detailPDF")
  @ApiModelProperty(value = "票据 pdf 详情")
  private String detailPDF;
  @JSONField(name = "switchStatus")
  @ApiModelProperty(value = "是否成功")
  private String switchStatus;
  
  @JSONField(name = "einvoiceXML")
  @ApiModelProperty(value = "票据 XML 详情")
  private String einvoiceXML;
  
  @JSONField(name = "einvoicePDF")
  @ApiModelProperty(value = "票据 PDF 地址")
  private String einvoicePDF;
  
  @JSONField(name = "einvoiceId")
  @ApiModelProperty(value = "票据标识")
  private String einvoiceId;
  @JSONField(name = "einvoiceCode")
  @ApiModelProperty(value = "票据代码")
  private String einvoiceCode;
  @JSONField(name = "einvoiceNumber")
  @ApiModelProperty(value = "票据号码")
  private String einvoiceNumber;
  @JSONField(name = "einvoiceType")
  @ApiModelProperty(value = "票据种类")
  private String einvoiceType;
  @JSONField(name = "reimburseList")
  @ApiModelProperty(value = "报销记录")
  private List<TSourcePassbookReimburse> reimburseList;
  
}
